package com.bsoft.gol.hcs.visitrecord.entity;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * @author lanyu
 * @date 2021年11月02日 16:38
 */
@Entity
@Table(name = "vr_inpatient_visit_record")
public class VrInpatientVisitRecord {
    private String hospitalRecordId;
    private String inHospitalRecordNumber;
    private String inHospitalRecordCode;
    private String medicalRecordNumber;
    private String visitNo;
    private String patientId;
    private String patientName;
    private String patientSex;
    private Date patientBirthday;
    private Byte patientAge;
    private String cardType;
    private String cardNumber;
    private String patientMedicalCardType;
    private String patientMedicalCardNumber;
    private String telephone;
    private String address;
    private String patientNature;
    private String organizationId;
    private String organizationName;
    private String departmentId;
    private String departmentName;
    private String wardCode;
    private String wardName;
    private String bedNumber;
    private String doctorId;
    private String doctorName;
    private String attendingDoctorId;
    private String attendingDoctorName;
    private String chargeDoctorId;
    private String residentDoctorId;
    private String chiefDoctorId;
    private String careLevel;
    private String admissionDiagnosis;
    private String admission;
    private Date admissionTime;
    private Date dischargeTime;
    private String dischargeFlag;
    private Byte admissionAge;
    private Integer hospitalizationTimes;
    //住院状态 0 在院 1 出院证明 2 预结出院 8 正常出院 9 终结出院 99 注销出院
    private Integer hospizationStatus;
    private String dischargeDiagnosis;
    private String leavingHospitalMode;
    private String patientCondition;
    private String diagnosisType;
    private String satisfactionStatus;
    private int surveyNumber;
    private int finishNumber;
    private String companionName;
    private String companionRelationship;
    private String companionPhone;
    private String patientAgeText;
    private String deleteFlag;
    private Date createTime;
    private Date modifyTime;
    private int fusAfterPlanTimes;

    @Id
    @Column(name = "hospital_record_id")
    public String getHospitalRecordId() {
        return hospitalRecordId;
    }

    public void setHospitalRecordId(String hospitalRecordId) {
        this.hospitalRecordId = hospitalRecordId;
    }

    @Basic
    @Column(name = "in_hospital_record_number")
    public String getInHospitalRecordNumber() {
        return inHospitalRecordNumber;
    }

    public void setInHospitalRecordNumber(String inHospitalRecordNumber) {
        this.inHospitalRecordNumber = inHospitalRecordNumber;
    }

    @Basic
    @Column(name = "in_hospital_record_code")
    public String getInHospitalRecordCode() {
        return inHospitalRecordCode;
    }

    public void setInHospitalRecordCode(String inHospitalRecordCode) {
        this.inHospitalRecordCode = inHospitalRecordCode;
    }

    @Basic
    @Column(name = "medical_record_number")
    public String getMedicalRecordNumber() {
        return medicalRecordNumber;
    }

    public void setMedicalRecordNumber(String medicalRecordNumber) {
        this.medicalRecordNumber = medicalRecordNumber;
    }

    @Basic
    @Column(name = "visit_no")
    public String getVisitNo() {
        return visitNo;
    }

    public void setVisitNo(String visitNo) {
        this.visitNo = visitNo;
    }

    @Basic
    @Column(name = "patient_id")
    public String getPatientId() {
        return patientId;
    }

    public void setPatientId(String patientId) {
        this.patientId = patientId;
    }

    @Basic
    @Column(name = "patient_name")
    public String getPatientName() {
        return patientName;
    }

    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    @Basic
    @Column(name = "patient_sex")
    public String getPatientSex() {
        return patientSex;
    }

    public void setPatientSex(String patientSex) {
        this.patientSex = patientSex;
    }

    @Basic
    @Column(name = "patient_birthday")
    public Date getPatientBirthday() {
        return patientBirthday;
    }

    public void setPatientBirthday(Date patientBirthday) {
        this.patientBirthday = patientBirthday;
    }

    @Basic
    @Column(name = "patient_age")
    public Byte getPatientAge() {
        return patientAge;
    }

    public void setPatientAge(Byte patientAge) {
        this.patientAge = patientAge;
    }

    @Basic
    @Column(name = "card_type")
    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    @Basic
    @Column(name = "card_number")
    public String getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    @Basic
    @Column(name = "patient_medical_card_type")
    public String getPatientMedicalCardType() {
        return patientMedicalCardType;
    }

    public void setPatientMedicalCardType(String patientMedicalCardType) {
        this.patientMedicalCardType = patientMedicalCardType;
    }

    @Basic
    @Column(name = "patient_medical_card_number")
    public String getPatientMedicalCardNumber() {
        return patientMedicalCardNumber;
    }

    public void setPatientMedicalCardNumber(String patientMedicalCardNumber) {
        this.patientMedicalCardNumber = patientMedicalCardNumber;
    }

    @Basic
    @Column(name = "telephone")
    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    @Basic
    @Column(name = "address")
    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Basic
    @Column(name = "patient_nature")
    public String getPatientNature() {
        return patientNature;
    }

    public void setPatientNature(String patientNature) {
        this.patientNature = patientNature;
    }

    @Basic
    @Column(name = "organization_id")
    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    @Basic
    @Column(name = "organization_name")
    public String getOrganizationName() {
        return organizationName;
    }

    public void setOrganizationName(String organizationName) {
        this.organizationName = organizationName;
    }

    @Basic
    @Column(name = "department_id")
    public String getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(String departmentId) {
        this.departmentId = departmentId;
    }

    @Basic
    @Column(name = "department_name")
    public String getDepartmentName() {
        return departmentName;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    @Basic
    @Column(name = "ward_code")
    public String getWardCode() {
        return wardCode;
    }

    public void setWardCode(String wardCode) {
        this.wardCode = wardCode;
    }

    @Basic
    @Column(name = "ward_name")
    public String getWardName() {
        return wardName;
    }

    public void setWardName(String wardName) {
        this.wardName = wardName;
    }

    @Basic
    @Column(name = "bed_number")
    public String getBedNumber() {
        return bedNumber;
    }

    public void setBedNumber(String bedNumber) {
        this.bedNumber = bedNumber;
    }
    @Basic
    @Column(name = "doctor_id")
    public String getDoctorId() {
        return doctorId;
    }
    public void setDoctorId(String doctorId) {
        this.doctorId = doctorId;
    }
    @Basic
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    @Basic
    @Column(name = "attending_doctor_id")
    public String getAttendingDoctorId() {
        return attendingDoctorId;
    }

    public void setAttendingDoctorId(String attendingDoctorId) {
        this.attendingDoctorId = attendingDoctorId;
    }

    @Basic
    @Column(name = "attending_doctor_name")
    public String getAttendingDoctorName() {
        return attendingDoctorName;
    }

    public void setAttendingDoctorName(String attendingDoctorName) {
        this.attendingDoctorName = attendingDoctorName;
    }

    @Basic
    @Column(name = "charge_doctor_id")
    public String getChargeDoctorId() {
        return chargeDoctorId;
    }

    public void setChargeDoctorId(String chargeDoctorId) {
        this.chargeDoctorId = chargeDoctorId;
    }

    @Basic
    @Column(name = "resident_doctor_id")
    public String getResidentDoctorId() {
        return residentDoctorId;
    }

    public void setResidentDoctorId(String residentDoctorId) {
        this.residentDoctorId = residentDoctorId;
    }

    @Basic
    @Column(name = "chief_doctor_id")
    public String getChiefDoctorId() {
        return chiefDoctorId;
    }

    public void setChiefDoctorId(String chiefDoctorId) {
        this.chiefDoctorId = chiefDoctorId;
    }

    @Basic
    @Column(name = "care_level")
    public String getCareLevel() {
        return careLevel;
    }

    public void setCareLevel(String careLevel) {
        this.careLevel = careLevel;
    }

    @Basic
    @Column(name = "admission_diagnosis")
    public String getAdmissionDiagnosis() {
        return admissionDiagnosis;
    }

    public void setAdmissionDiagnosis(String admissionDiagnosis) {
        this.admissionDiagnosis = admissionDiagnosis;
    }

    @Basic
    @Column(name = "admission")
    public String getAdmission() {
        return admission;
    }

    public void setAdmission(String admission) {
        this.admission = admission;
    }

    @Basic
    @Column(name = "admission_time")
    public Date getAdmissionTime() {
        return admissionTime;
    }

    public void setAdmissionTime(Date admissionTime) {
        this.admissionTime = admissionTime;
    }

    @Basic
    @Column(name = "discharge_time")
    public Date getDischargeTime() {
        return dischargeTime;
    }

    public void setDischargeTime(Date dischargeTime) {
        this.dischargeTime = dischargeTime;
    }

    @Basic
    @Column(name = "discharge_flag")
    public String getDischargeFlag() {
        return dischargeFlag;
    }

    public void setDischargeFlag(String dischargeFlag) {
        this.dischargeFlag = dischargeFlag;
    }

    @Basic
    @Column(name = "admission_age")
    public Byte getAdmissionAge() {
        return admissionAge;
    }

    public void setAdmissionAge(Byte admissionAge) {
        this.admissionAge = admissionAge;
    }

    @Basic
    @Column(name = "hospitalization_Times")
    public Integer getHospitalizationTimes() {
        return hospitalizationTimes;
    }

    public void setHospitalizationTimes(Integer hospitalizationTimes) {
        this.hospitalizationTimes = hospitalizationTimes;
    }
    @Basic
    @Column(name = "hospization_status")
    public Integer getHospizationStatus() {
        return hospizationStatus;
    }

    public void setHospizationStatus(Integer hospizationStatus) {
        this.hospizationStatus = hospizationStatus;
    }

    @Basic
    @Column(name = "discharge_diagnosis")
    public String getDischargeDiagnosis() {
        return dischargeDiagnosis;
    }

    public void setDischargeDiagnosis(String dischargeDiagnosis) {
        this.dischargeDiagnosis = dischargeDiagnosis;
    }

    @Basic
    @Column(name = "leaving_hospital_mode")
    public String getLeavingHospitalMode() {
        return leavingHospitalMode;
    }

    public void setLeavingHospitalMode(String leavingHospitalMode) {
        this.leavingHospitalMode = leavingHospitalMode;
    }

    @Basic
    @Column(name = "patient_condition")
    public String getPatientCondition() {
        return patientCondition;
    }

    public void setPatientCondition(String patientCondition) {
        this.patientCondition = patientCondition;
    }

    @Basic
    @Column(name = "diagnosis_type")
    public String getDiagnosisType() {
        return diagnosisType;
    }

    public void setDiagnosisType(String diagnosisType) {
        this.diagnosisType = diagnosisType;
    }

    @Basic
    @Column(name = "satisfaction_status")
    public String getSatisfactionStatus() {
        return satisfactionStatus;
    }

    public void setSatisfactionStatus(String satisfactionStatus) {
        this.satisfactionStatus = satisfactionStatus;
    }

    @Basic
    @Column(name = "survey_number")
    public int getSurveyNumber() {
        return surveyNumber;
    }

    public void setSurveyNumber(int surveyNumber) {
        this.surveyNumber = surveyNumber;
    }

    @Basic
    @Column(name = "finish_number")
    public int getFinishNumber() {
        return finishNumber;
    }

    public void setFinishNumber(int finishNumber) {
        this.finishNumber = finishNumber;
    }

    @Basic
    @Column(name = "companion_name")
    public String getCompanionName() {
        return companionName;
    }

    public void setCompanionName(String companionName) {
        this.companionName = companionName;
    }

    @Basic
    @Column(name = "companion_relationship")
    public String getCompanionRelationship() {
        return companionRelationship;
    }

    public void setCompanionRelationship(String companionRelationship) {
        this.companionRelationship = companionRelationship;
    }

    @Basic
    @Column(name = "companion_phone")
    public String getCompanionPhone() {
        return companionPhone;
    }

    public void setCompanionPhone(String companionPhone) {
        this.companionPhone = companionPhone;
    }

    @Basic
    @Column(name = "patient_age_text")
    public String getPatientAgeText() {
        return patientAgeText;
    }

    public void setPatientAgeText(String patientAgeText) {
        this.patientAgeText = patientAgeText;
    }

    @Basic
    @Column(name = "delete_flag")
    public String getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(String deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "modify_time")
    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    @Basic
    @Column(name = "fus_after_plan_times")
    public int getFusAfterPlanTimes() {
        return fusAfterPlanTimes;
    }

    public void setFusAfterPlanTimes(int fusAfterPlanTimes) {
        this.fusAfterPlanTimes = fusAfterPlanTimes;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        VrInpatientVisitRecord that = (VrInpatientVisitRecord) o;
        return surveyNumber == that.surveyNumber && finishNumber == that.finishNumber && Objects.equals(hospitalRecordId, that.hospitalRecordId) && Objects.equals(inHospitalRecordNumber, that.inHospitalRecordNumber) && Objects.equals(inHospitalRecordCode, that.inHospitalRecordCode) && Objects.equals(medicalRecordNumber, that.medicalRecordNumber) && Objects.equals(visitNo, that.visitNo) && Objects.equals(patientId, that.patientId) && Objects.equals(patientName, that.patientName) && Objects.equals(patientSex, that.patientSex) && Objects.equals(patientBirthday, that.patientBirthday) && Objects.equals(patientAge, that.patientAge) && Objects.equals(cardType, that.cardType) && Objects.equals(cardNumber, that.cardNumber) && Objects.equals(patientMedicalCardType, that.patientMedicalCardType) && Objects.equals(patientMedicalCardNumber, that.patientMedicalCardNumber) && Objects.equals(telephone, that.telephone) && Objects.equals(address, that.address) && Objects.equals(patientNature, that.patientNature) && Objects.equals(organizationId, that.organizationId) && Objects.equals(organizationName, that.organizationName) && Objects.equals(departmentId, that.departmentId) && Objects.equals(departmentName, that.departmentName) && Objects.equals(wardCode, that.wardCode) && Objects.equals(wardName, that.wardName) && Objects.equals(bedNumber, that.bedNumber) && Objects.equals(attendingDoctorId, that.attendingDoctorId) && Objects.equals(attendingDoctorName, that.attendingDoctorName) && Objects.equals(chargeDoctorId, that.chargeDoctorId) && Objects.equals(residentDoctorId, that.residentDoctorId) && Objects.equals(chiefDoctorId, that.chiefDoctorId) && Objects.equals(careLevel, that.careLevel) && Objects.equals(admissionDiagnosis, that.admissionDiagnosis) && Objects.equals(admission, that.admission) && Objects.equals(admissionTime, that.admissionTime) && Objects.equals(dischargeTime, that.dischargeTime) && Objects.equals(dischargeFlag, that.dischargeFlag) && Objects.equals(admissionAge, that.admissionAge) && Objects.equals(hospitalizationTimes, that.hospitalizationTimes) && Objects.equals(dischargeDiagnosis, that.dischargeDiagnosis) && Objects.equals(leavingHospitalMode, that.leavingHospitalMode) && Objects.equals(patientCondition, that.patientCondition) && Objects.equals(diagnosisType, that.diagnosisType) && Objects.equals(satisfactionStatus, that.satisfactionStatus) && Objects.equals(companionName, that.companionName) && Objects.equals(companionRelationship, that.companionRelationship) && Objects.equals(companionPhone, that.companionPhone) && Objects.equals(patientAgeText, that.patientAgeText) && Objects.equals(deleteFlag, that.deleteFlag) && Objects.equals(createTime, that.createTime) && Objects.equals(modifyTime, that.modifyTime);
    }

    @Override
    public int hashCode() {
        return Objects.hash(hospitalRecordId, inHospitalRecordNumber, inHospitalRecordCode, medicalRecordNumber, visitNo, patientId, patientName, patientSex, patientBirthday, patientAge, cardType, cardNumber, patientMedicalCardType, patientMedicalCardNumber, telephone, address, patientNature, organizationId, organizationName, departmentId, departmentName, wardCode, wardName, bedNumber, attendingDoctorId, attendingDoctorName, chargeDoctorId, residentDoctorId, chiefDoctorId, careLevel, admissionDiagnosis, admission, admissionTime, dischargeTime, dischargeFlag, admissionAge, hospitalizationTimes, dischargeDiagnosis, leavingHospitalMode, patientCondition, diagnosisType, satisfactionStatus, surveyNumber, finishNumber, companionName, companionRelationship, companionPhone, patientAgeText, deleteFlag, createTime, modifyTime);
    }
}
